#include <cstdlib>
#include <iostream>
#include <stdexcept>
#include <string>
#include <vector>

using namespace std;

template <class T> class Stack {
  private:
    vector<T> elems;

  public:
    void push(T const &);
    void pop();
    T top() const;
    bool empty() const { return elems.empty(); }
};
